#pragma once

#include "GameObject.h"
#include "Point.h"
#include "Rect.h"

namespace game_engine { namespace library
{

/*!
 * \class CameraObject
 * \brief 
 */
class CameraObject : public game_engine::GameObject
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    // Constructors and Destructors
    CameraObject(void);
    CameraObject(Scene *scn, const string &n, const string &t, 
        const DrawLevelType d);
    virtual ~CameraObject(void);

    // Setters
    void setInitialPosition(const utils::Point &iniPos);
    void setView(const utils::Rect &view);
    void setFollowed(GameObject *obj);

};

}}
